package rg_opt

import "wails/schema/dynamic/gamedo"

type H活动页面响应 struct {
	// @alias 配置
	P配置 *H活动页面配置 `alias:"配置"`
}

type H活动页面配置 struct {
	// @alias 列表
	L列表 *S数据列表配置 `alias:"列表"`
	// @alias 修改
	X修改 *S数据修改配置 `alias:"修改"`
	// @alias 创建
	C创建 *S数据创建配置 `alias:"创建"`
	// @alias 读取
	D读取 *S数据读取配置 `alias:"读取"`
}

type H活动列表响应 struct {
	// @alias 数据
	S数据 []*H活动列表项 `alias:"数据"`
	// @alias 总数
	Z总数 int `alias:"总数"`
	// @alias 页码
	Y页码 int `alias:"页码"`
}

// 列表项对象约束编号
// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type H活动列表项 struct {
	// @alias _id
	B编号 string `alias:"_id"`
	// 活动的名称，默认与配置名称相同
	// @alias 名称
	M名称 string `alias:"名称"`
	// @alias 类型
	L类型 interface{} `alias:"类型" dlink:"活动配置"`
	// @alias 状态
	Z状态 gamedo.H活动备案状态 `alias:"状态"`
	// 场景：某些活动需要预热，在活动开始前就能看到活动页面
	// 场景：排行榜活动结束后，需要多挂一天，让玩家查看结果
	// @alias 上架时间
	S上架时间 string `alias:"上架时间"`
	// @alias 下架时间
	X下架时间 string `alias:"下架时间"`
	// 活动开始生效的时间至活动结束结算的时间
	// @alias 开始时间
	K开始时间 string `alias:"开始时间"`
	// @alias 结束时间
	J结束时间 string `alias:"结束时间"`
	// @alias 更新时间
	G更新时间 int `alias:"更新时间" date:"dateHMS"`
}

// 数据对象约束编号
// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type H活动项 struct {
	// @alias _id
	B编号 string `alias:"_id"`
	// 活动的名称，默认与配置名称相同
	// @alias 名称
	M名称 string `alias:"名称"`
	// @alias 类型
	L类型 interface{} `alias:"类型" dlink:"活动配置"`
	// @alias 状态
	Z状态 gamedo.H活动备案状态 `alias:"状态"`
	// 场景：某些活动需要预热，在活动开始前就能看到活动页面
	// 场景：排行榜活动结束后，需要多挂一天，让玩家查看结果
	// @alias 上架时间
	S上架时间 string `alias:"上架时间"`
	// @alias 下架时间
	X下架时间 string `alias:"下架时间"`
	// 活动开始生效的时间至活动结束结算的时间
	// @alias 开始时间
	K开始时间 string `alias:"开始时间"`
	// @alias 结束时间
	J结束时间 string `alias:"结束时间"`
	// @alias 更新时间
	G更新时间 int `alias:"更新时间" date:"dateHMS"`
}

// 创建的对象约束编号
// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type H活动创建项 struct {
	// @alias 类型
	L类型 interface{} `alias:"类型" dlink:"活动配置"`
	// 场景：某些活动需要预热，在活动开始前就能看到活动页面
	// 场景：排行榜活动结束后，需要多挂一天，让玩家查看结果
	// @alias 上架时间
	S上架时间 string `alias:"上架时间"`
	// @alias 下架时间
	X下架时间 string `alias:"下架时间"`
	// 活动开始生效的时间至活动结束结算的时间
	// @alias 开始时间
	K开始时间 string `alias:"开始时间"`
	// @alias 结束时间
	J结束时间 string `alias:"结束时间"`
}

type H活动创建参数 struct {
	// @alias 数据
	S数据 *H活动创建参数项 `alias:"数据"`
}

// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type H活动创建参数项 struct {
	// @alias 类型
	L类型 string `alias:"类型" dlink:"活动配置"`
	// 场景：某些活动需要预热，在活动开始前就能看到活动页面
	// 场景：排行榜活动结束后，需要多挂一天，让玩家查看结果
	// @alias 上架时间
	S上架时间 string `alias:"上架时间"`
	// @alias 下架时间
	X下架时间 string `alias:"下架时间"`
	// 活动开始生效的时间至活动结束结算的时间
	// @alias 开始时间
	K开始时间 string `alias:"开始时间"`
	// @alias 结束时间
	J结束时间 string `alias:"结束时间"`
}
